#ifndef MCUOBJ_H
#define MCUOBJ_H

#include<QString>

#include "pin/PinObj.h"
#include "pin/PinAFList.h"
#include "PeripheralModel.h"

class MCUObj
{
public:
    MCUObj(QString name);
    ~MCUObj();

    /*函数区*/
    QString name();  //获取MCU名字
    int setName(QString name);   //设置MCU名字
    QMap<QString,QStringList*>* peripheralTypes();  //获取外设列表
    int addToPeripheralTypes(QString pname);   //设置外设列表
    PeripheralModel* peripheralModel(); //获取当前MCU外设列表模型
    int setPeripheralModel(PeripheralModel* model);//设置当前MCU外设列表模型
    PinAFList* pinAFList(); //获取引脚使用情况汇总类
    int fromjson();   //json导入


    /*成员区*/
    QString u_name;
    QList<PinObj*>* u_list; //pin列表
    QMap<QString,QStringList*>* u_peripheralTypes;  //外设种类列表一级
    PeripheralModel* u_peripheralModel; //外设列表显示模型
    PinAFList* u_pinAFList;  //引脚使用情况汇总类

};

#endif // MCUOBJ_H
